home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #11 / Amiga Plus CD - 2004 - No. 11.iso / AmiSoft / Misc / emu / p-interp.lha / p-interp-0.5 / README < prev    next >
Text File  |  2001-05-23  |  6KB  |  165 lines

  1. $Id: README,v 1.3 2001/05/23 21:35:50 mario Exp $
  2.  
  3. This is another release of my p-code interpreter. It does allow to run
  4. Apple Pascal (an ancient programming environment) on todays linux
  5. machines. I also was able to compile and run this program on a FreeBSD
  6. system. Although I did many improvements to this code after my first
  7. release, it still is experimental code. If you are in trouble,
  8.  
  9.         use the source, Luke!
  10.  
  11.  
  12. What you will need to build and run:
  13. ====================================
  14.  
  15. Despite of the usual things (a working C development environment and
  16. X11), you need SYSTEM.CHARSET from your Apple Pascal system disk. A
  17. utility called ucsdio is included, which can be used to extract
  18. system.charset from an UCSD disk image.
  19.  
  20.     ucsdio apple0.dsk system.charset > sysstem.charset
  21.  
  22. To let the system run, you will need UCSD disk images. I found images
  23. on
  24.  
  25. ftp.apple.asimov.net:/pub/apple_II/images/utility/programming/apple_pascal
  26.  
  27. A Makefile target is included to fetch these images (if you have
  28. ncftpget installed), to extract system.charset and to build a set of
  29. working images from the original Apple-images.
  30.  
  31. These images are stored in a format, used by Apple][ emulators. UCSD
  32. does have a different view on its disks. This p-code interpreter does
  33. accept images in both formats. Images in the Apple][ emulators format
  34. are recognized by their .dsk extension. The conversion is symmetric
  35. and the utility program svolcvt does convert between the two file
  36. formates. It does read the image on stdin and writes the converted
  37. image to stdout.
  38.  
  39. I developed this p-code interpreter using the 64K system of Apple
  40. Pascal Version 1.3. I already extended it to work with Apple Pascal
  41. version 1.1 and 1.2. But the system is not excessivly tested using the
  42. early versions. At least, it boots, compiles and runs grafdemo. :-)
  43.  
  44.  
  45. Configure and Building:
  46. =======================
  47.  
  48. My system is build using the 'traditional' aproach: Edit the
  49. Makefile. You probably have to change the path to your X11
  50. installation and the name of your makedepend command.
  51.  
  52. Prior to building, you have to do 'make depend' and to build is, just
  53. execute 'make' and 'make install'. 
  54.  
  55. Running the system:
  56. ===================
  57.  
  58. To execute the UCSD system, you must have some disk images. I found
  59. images on ftp.apple.asimov.net. To boot the Apple Pascal system, you
  60. do not need SYSTEM.APPLE (it is replaced by this p-code
  61. interpreter). So you just can boot APPLE0: without using APPLE3:. Of
  62. course, APPLE1: still is able to boot.
  63.  
  64. To build your first set of working images, execute 'make system.svol'
  65. or 'make work.svol' (each target builds both images). Piping the
  66. output through a pager (e.g. less) s a good idea. The files for the
  67. images are taken from ftp.apple.asimov.net. This build-target also
  68. does modify SYSTEM.MISCINFO and rebuilds SYSTEM.LIBRARY using the
  69. turtlegrafics replacement library. After building these images, you
  70. should be able to boot your system:
  71.  
  72.     'ucsd -w work.svol -r system.svol'
  73.  
  74. As a simple test case, you can try to X(ecute system:grafdemo.
  75.  
  76. Volumes cannot be mounted or unmounted when the system is running
  77. (yet). So, you have to specify which images are used on the units when
  78. starting the p-code interpreter. The first image will be unit #4, the
  79. second one will be unit #5. Units #6, #7 and #8 are reserved for other,
  80. non-disk devices (PRINTER:, REMIN: and REMOUT:). So, the third image
  81. will be unit #9 and so on.
  82.  
  83. The system does have three modes for the volumes: Read-Only,
  84. Read-Write and ForgetChanges. The ForgetChanges mode is read-write,
  85. but the data will not make it to the (UNIX) volume image. If the
  86. p-code interpreter is exited, all changes to the volume are lost.
  87.  
  88.  
  89. Turtlegraphics:
  90. ===============
  91.  
  92. The original Apple TURTLEGRAPHICS is written partly in Pascal, partly
  93. in assembly. Since (hopefully) nothing depends on the internal
  94. interfaces between these two parts, I decided to replace the entire
  95. library. A volume (library.svol) is included, which contains the
  96. source of this replacement library.
  97.  
  98. LIBRARY:
  99. COPYING             40    7-Nov-84     6   512   Textfile
  100. TURTLEGR.TEXT        8    7-Nov-84    46   512   Textfile
  101. TURTLEGR.CODE        7    7-Nov-84    54   512   Codefile
  102. TURT.ASM.TEXT        8    7-Nov-84    61   512   Textfile
  103. TURT.ASM.CODE        5    7-Nov-84    69   512   Codefile
  104. TURT.LIB.CODE        7    7-Nov-84    74   512   Codefile
  105. < UNUSED >         431                81
  106. 6/6 files <listed/in dir>, 81 blocks used, 431 unused, 431 in largest
  107.  
  108. It consists of two parts, one (the interface) written in Pascal, the
  109. other written in assembly. All assembly routines (they will not work
  110. on the original Apple][) will be intercepted by the interpreter. You
  111. must C(ompile and A(ssemble the two source files and L(ink them
  112. together. The code files are included on this volumes, TURT.LIB.CODE
  113. is the final code of the library. You must X(ecute LIBRARY (on
  114. APPLE3:) to build a new library containing the new TURTLEGRAPHICS and
  115. all other segments from the old SYSTEM.LIBRARY.
  116.  
  117.  
  118. Future whishes:
  119. ===============
  120.  
  121. - long integers
  122. - more working APPLESTUFF
  123. - native TRANCENDENT
  124. - better volume handling (especially mounting/unmounting disks)
  125. - REMIN: & REMOUT:
  126. - resizing of CONSOLE:
  127. - BREAK-handling
  128. - removing (or hiding) the debug stuff
  129. - Getting the 64KWord (instead of 64KByte) memory model working
  130. - resizeing the TURTLEGRAPHICS screen
  131. - adding more colors to TURTLEGRAPHICS
  132. - better documentations (in the source code as well as in separate files)
  133. - Porting the device drivers (mainly the console and turtlegraphics) to
  134.   Windows and MacOS (could be obsolete with MacOS X)
  135.  
  136.  
  137. Now, after reading through all this stuff, you are prepared to enter a
  138. nostalgic world...
  139.  
  140. Command: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [1.1]
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148. Welcome APPLE1, to Apple II Pascal 1.1
  149.  
  150. Based on UCSD Pascal II.1
  151.  
  152. Current date is 27-Sep-86
  153.  
  154.  
  155.  
  156.  
  157.  
  158. (C) Apple Computer Inc. 1979, 1980
  159. (C) U.C. Regents 1979
  160.  
  161.  
  162.  
  163.  
  164. 73, Mario <mario@klebsch.de>
  165.